#ifndef HITABLE_H
#define HITABLE_H
#include<ray.h>
#include<QVector3D>
#include<aabb.h>
class material;
struct hit_record{
    float t;
    QVector3D p;
    QVector3D normal;
    material *mat_ptr;
};

class hitable
{
public:
    virtual bool hit(const ray&r,float tmin,float tmax,hit_record&rec)const=0;
    virtual bool bounding_box(float t0,float t1,aabb&box)const=0;
};

#endif // HITABLE_H
